package com.shycloud.mido.organ.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.shycloud.mido.organ.api.vo.OfficeStudentDetailVO;
import com.shycloud.mido.organ.api.vo.OfficeVO;
import com.shycloud.mido.common.core.util.R;

import java.util.List;
import java.util.Map;

/**
 * 工作室 service
 *
 * @author nianhua.jiang
 * @date 2020/6/3 10:33
 */
public interface OfficeService {

	/**
	 * 分页获取工作室信息
	 *
	 * @param page
	 * @param officeName
	 * @param teacherName
	 * @return java.util.List<com.shycloud.mido.organ.api.vo.OfficeVO>
	 * @author nianhua.jiang
	 * @date 2020/6/3 10:35
	 */
	IPage<OfficeVO> getOffice(Page page, String officeName, String teacherName);

	/**
	 * 查询学生数量
	 *
	 * @param
	 * @return int
	 * @author nianhua.jiang
	 * @date 2020/6/4 9:47
	 */
	int getOfficeStudentCount();

	/**
	 * 查询工作室下的学生信息
	 *
	 * @param page
	 * @param phone
	 * @param studentName
	 * @param officeId
	 * @return com.baomidou.mybatisplus.core.metadata.IPage<com.shycloud.mido.organ.api.vo.OfficeStudentDetailVO>
	 * @author nianhua.jiang
	 * @date 2020/6/4 13:32
	 */
	IPage<OfficeStudentDetailVO> getOfficeStudentDetail(Page page, String phone, String studentName, String officeId);

	/**
	 * 批量移除工作室的学生
	 *
	 * @param officeId
	 * @param studentId
	 * @return java.lang.Boolean
	 * @author nianhua.jiang
	 * @date 2020/6/4 14:59
	 */
	Boolean removeofficeStudent(Integer officeId, List<String> studentId);

	/**
	 * 查询学生
	 *
	 * @param name
	 * @param phone
	 * @return com.shycloud.mido.organ.api.vo.OfficeStudentDetailVO
	 * @author nianhua.jiang
	 * @date 2020/6/4 16:45
	 */
	List<OfficeStudentDetailVO> getStudent(String name, String phone);

	/**
	 * 批量添加
	 *
	 * @param request
	 * @return java.lang.Boolean
	 * @author nianhua.jiang
	 * @date 2020/6/4 17:09
	 */
	R addStudent(Map<String, Object> request);
}
